import pandas as pd

# 读数据
medal_counts_df = pd.read_csv('成品部分_代码_lunw/初步数据/summerOly_medal_counts_cleaned.csv', encoding='latin1')
predictions_df = pd.read_csv('F:/25MCM_C/C_data/2028_predictions_by_country.csv', encoding='latin1')
#比赛结束前最后一天售后群发布无水印可视化结果+无标注代码【可直接提交】为了防止倒卖， 论文写作过程中遗留数个致命问题，无关代码，该问题解决方式仅在官网授权售后群答疑，盗卖方式购买资料不提供答疑，感谢理解 美赛资料助攻购买链接+说明https://docs.qq.com/doc/p/f3dc6bffbf4dab58dbdfd3e5e5de18a2ad974216
# 筛选出2024年的金牌数
historical_gold = medal_counts_df[medal_counts_df['Year'] == 2024][['NOC', 'Gold']]

# 合并
merged_df = pd.merge(predictions_df, historical_gold, on='NOC', how='left')#比赛结束前最后一天售后群发布无水印可视化结果+无标注代码【可直接提交】为了防止倒卖， 论文写作过程中遗留数个致命问题，无关代码，该问题解决方式仅在官网授权售后群答疑，盗卖方式购买资料不提供答疑，感谢理解 美赛资料助攻购买链接+说明https://docs.qq.com/doc/p/f3dc6bffbf4dab58dbdfd3e5e5de18a2ad974216

missing_gold_data = merged_df[merged_df['Gold'].isnull()]

print(f"Missing Gold Data: \n{missing_gold_data[['NOC', 'Predicted Gold Medals for 2028']]}")

# 处理缺失值
merged_df['Gold'] = merged_df['Gold'].fillna(0)

# 计算金牌数的变化（2028年预测的金牌数 - 2024年金牌数）
merged_df['Gold Change'] = merged_df['Predicted Gold Medals for 2028'] - merged_df['Gold']

merged_df['Progress'] = merged_df['Gold Change'].apply(lambda x: 'Progress' if x > 0 else 'Decline')

print(merged_df[['NOC', 'Predicted Gold Medals for 2028', 'Gold', 'Gold Change', 'Progress']])

merged_df[['NOC', 'Predicted Gold Medals for 2028', 'Gold', 'Gold Change', 'Progress']].to_csv('F:/25MCM_C/C_data/Progress_Analysis.csv', index=False)
#比赛结束前最后一天售后群发布无水印可视化结果+无标注代码【可直接提交】为了防止倒卖， 论文写作过程中遗留数个致命问题，无关代码，该问题解决方式仅在官网授权售后群答疑，盗卖方式购买资料不提供答疑，感谢理解 美赛资料助攻购买链接+说明https://docs.qq.com/doc/p/f3dc6bffbf4dab58dbdfd3e5e5de18a2ad974216